<?php

# -- DÉBUT NOTE DE LICENCE -------------------------------------
#
# Ce fichier fait partie de Clicpage.
#
# Copyright (c) 2010 Francois (www.clicpage.net)
# Distribué selon les termes de la licence GPL version 2.0.
# Consultez le fichier LICENCE ou
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
#
# -- FIN NOTE DE LICENCE ---------------------------------------

class cpModuleApparence extends cpModuleAdmin
{
		
	
	
	
	
	/// @name Initialisation
	//@{
	
	
	
	public function __construct($core)
	{

		parent::__construct($core);

		$this->setTitreModule(__('Apparence'));

		$this->setActionsAutorisees('modifierTheme');

		$this->core->chargerThemes();
		
		# CSS et Javascript
		$this->setCSS('apparence');
		$this->setJavascript('apparence');
		
	}
   //@}
    
	
	

	
	/// @name Formulaires
	//@{
	
	
	public function action_modifierTheme()
	{		
		
		# Permission nécessaire: reglages
		$this->core->auth->verifierPermission('reglages', true);
			
		if( empty($_POST['theme_id']) || !array_key_exists($_POST['theme_id'], $this->core->themes)) {
			throw new cpErreur(__('Action invalide'), 'theme_id', 301);
		}
			
		$this->core->site->definirPropriete('site_theme', $_POST['theme_id']);
	
		$this->messageOK(sprintf(__('Le thème par défaut actuel est %s.'), '<strong>"'.$this->core->themes[$_POST['theme_id']]['nom'].'"</strong>'));

	}    
    //@} 
    
	

	
	
	/// @name Interface du module
	//@{
	
	
	public function interfaceModule()
	{
		
		$themeDefaut = $this->core->site->getPropriete('site_theme');		
		if(empty($this->messageOK)) {
			$this->ajouterMessageInfo(sprintf(__('Le thème par défaut actuel est %s.'), '<strong>"'.$this->core->themes[$themeDefaut]['nom'].'"</strong>'));
		}
		
		$html =
		$this->afficherMessages().
		'<form id="formModifierTheme" action="index.php?module=apparence" method="post">'.
			$this->core->nonceHTML('modifierTheme').
			form::hidden('action', 'modifierTheme').
			form::hidden('theme_id', '').
		'</form>'.
		'<fieldset id="themes-disponibles">'.
			'<legend>'.__('Thèmes disponibles').'</legend>'.
			'<div id="themes-disponibles-wrapper">';
		
		foreach($this->core->themes as $theme)
		{
			$class = 'theme';
			if($theme['identifiant'] == $themeDefaut) {
				$class.= ' default-theme';
			}
			
			$html.=
			'<div class="'.$class.'" name="'.$theme['identifiant'].'">'.
				'<img src="'.CP_URL_THEMES.$theme['identifiant'].'/apercu.jpg" alt="'.html::escapeHTML($theme['nom']).'" />'.
				'<p class="theme-nom">'.html::escapeHTML($theme['nom']).'</p>'.
				'<p class="theme-description">'.html::escapeHTML($theme['description']).'</p>'.
				'<p class="theme-auteur">'.sprintf(__('Par %s'), html::escapeHTML($theme['auteur'])).' - '.sprintf(__('version %s'), html::escapeHTML($theme['version'])).'</p>'.
			'</div>';	
		}
		
		$html.=
			'</div>'.
		'</fieldset>'.
		'<fieldset id="theme-details">'.
			'<legend></legend>'.
			'<div id="theme-details-wrapper">&nbsp;</div>'.
		'</fieldset>'.
		'<div id="modele-theme-details">'.
			'<img src="" alt="" />'.
			'<p class="theme-nom"></p>'.
			'<p class="theme-description"></p>'.
			'<p class="theme-auteur"></p>'.
			'<ul>';
		
		if($this->core->auth->verifierPermission('apparence')) {
			$html.=
				'<li><a class="definirTheme" href="#" name="">'.__('Utiliser par défaut').'</a></li>'.
				'<li><a class="editerCSS" href="#">'.__('Éditer la feuille de styles').'</a></li>';
		}
		
		if($this->core->auth->verifierPermission('gadgets')) {
			$html.=
			'<li><a class="gererGadgets" href="#">'.__('Gérer les gadgets').'</a></li>';
		}
		
		$html.=
			'</ul>'.
		'</div>';
		
		return $html;
		
	}
	//@}
	
	
}

?>